SQL 及 R 語言的資料分析

郭耀仁

你在咖啡廳做什麼?

準備明天開會的材料

連個資料庫

撈個資料

SELECT continent
      ,sum(pop)
      FROM gapminder.gapminder
      WHERE year = 2007
      GROUP BY continent;

將資料庫查詢的結果輸出成為 csv

把 csv 匯入到 Excel 中作整理與分析

表格與圖貼到 Powerpoint 上

簡報大展身手

主管、客戶覺得你的提案好棒棒

將分析用的程式與圖表整理成文件存參

如果是 Chandler Bing 會怎麼做?

設定 R 與資料庫的介接

library(DBI)

# 利用 `dbConnect()` 建立連線
con <- dbConnect(RMySQL::MySQL(), 
                 dbname = "gapminder",
                 host = "rsqltrain.ced04jhfjfgi.ap-northeast-1.rds.amazonaws.com",
                 port = 3306,
                 user = "trainstudent",
                 password = "csietrain")

將資料匯入 R 語言

gapminder_df <- dbReadTable(con, "gapminder")
dbDisconnect(con)

作整理與分析

library(dplyr)
library(ggplot2)

plot_df <- gapminder_df %>%
  filter(year == 2007) %>%
  group_by(continent) %>%
  summarise(ttl_pop = sum(as.numeric(pop))) %>%
  arrange(ttl_pop)

plot_df$continent <- factor(plot_df$continent, levels = plot_df$continent)
bar_plot <- ggplot(plot_df, aes(x = continent, y = ttl_pop, fill = continent)) +
  geom_bar(stat = "identity", alpha = 0.5) +
  xlab("") +
  ylab("") +
  theme_minimal() +
  coord_flip() +
  ggtitle("Population across different continents")

直接輸出簡報

簡報也是好棒棒

改輸出格式成為文件

Why R?

免費又好裝

不強調物件導向

內外兼修

溝通、溝通、還是溝通

活躍的社群支援

到底有多容易安裝?

一起輕鬆學習 R 與資料科學